package com.dlwx.parttimetalent.utils;

import android.content.Context;
import android.text.TextUtils;

import com.dlwx.parttimetalent.R;
import com.google.gson.Gson;
import com.lzy.okgo.model.Response;

import java.lang.reflect.Type;

/**
 * Created by Administrator on 2017/8/30.
 */

public class DealResult {

    private static DealResult instance=new DealResult();

    public static DealResult getInstance(){

        return  instance;
    }
    public DealResult() {

    }

//    /**
//     * @param context
//     * @param response
//     * @param type
//     * @param <T>
//     * @return
//     */
//    public <T> List<T> deal(Context context, Response<String> response, Type type) {
//        List<T> datas = new ArrayList<>();
//        String res = response.body().toString().trim();
//        if (TextUtils.isEmpty(res)) {
//            ToastUtils.toastForShort(context, context.getString(R.string.empty_datas));
//            return datas;
//        }
//        try {
//            BaseBean<T> bean = new Gson().fromJson(res, type);
//            if (bean.getCode() == Constant.SUCESS) {
//                datas.addAll(bean.get);
//                if (datas.isEmpty()) {
//                    ToastUtils.toastForShort(context, context.getString(R.string.empty_datas));
//                }
//                return datas;
//            } else {
//                ToastUtils.toastForShort(context, bean.getMsg());
//                return datas;
//            }
//        } catch (Exception e) {
//            ToastUtils.toastForShort(context, context.getString(R.string.analysis_error));
//            e.printStackTrace();
//            return datas;
//        }
//    }


//    /**
//     * @param context
//     * @param response
//     * @param type
//     * @param <T>
//     * @return
//     */
//    public <T> T dealOne(Context context, Response<String> response, Type type) {
//        T object = null;
//        String res = response.body().toString().trim();
//        if (TextUtils.isEmpty(res)) {
//            ToastUtils.toastForShort(context, context.getString(R.string.empty_datas));
//            return object;
//        }
//        BasicBean basicBean = new Gson().fromJson(res, BasicBean.class);
//        if (basicBean.getStatus() == 0) {
//            ToastUtils.toastForShort(context, basicBean.getMsg());
//            return object;
//        }
//        try {
//            BaseOneBean<T> bean = new Gson().fromJson(res, type);
//            if (!TextUtils.isEmpty(bean.getMsg())) {
//                ToastUtils.toastForShort(context, bean.getMsg());
//            }
//            if (bean.getStatus() == Constant.SUCESS) {
//                object = bean.getData();
//                return object;
//            } else {
//
//                return object;
//            }
//        } catch (Exception e) {
//            ToastUtils.toastForShort(context, context.getString(R.string.analysis_error));
//            e.printStackTrace();
//            return object;
//        }
//    }


    /**
     * @param context
     * @param response
     * @return
     */
    public <T> T dealDatas(Context context, Response<String> response, Type type) {
        String res = response.body().toString().trim();
        if (TextUtils.isEmpty(res)) {
            ToastUtils.toastForShort(context, context.getString(R.string.empty_datas));
            return null;
        }
        try {
            T bean = new Gson().fromJson(res, type);
            return bean;
        } catch (Exception e) {
            LogUtils.i(e.toString()+type.toString());
//            ToastUtils.toastForShort(context, context.getString(R.string.analysis_error));
            return null;
        }
    }
}
